package com.regent.central.bill.repository.mrp.dto.arrive;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 到料单详情物料skuDTO
 *
 * @author 钟宝林
 * @String 2018-06-21 13:24
 **/
public class ArriveDetailSkuDTO implements Serializable {
    private static final long serialVersionUID = 9178691144711902120L;

    /**
     * 采购单ID
     */
    private String billMaterialPurchaseId;
    /**
     * 采购日期
     */
    private String datePurchase;
    /**
     * 采购单号
     */
    private String purchaseOrderNo;
    /**
     * 本次采购数量
     */
    private BigDecimal quantityPurchase;
    /**
     * 物料skuID
     */
    private String materialsSkuId;
    /**
     * 工单ID
     */
    private String facMissionId;
    /**
     * 本次到料数量
     */
    private BigDecimal quantityArrive;
    /**
     * 到料单价
     */
    private BigDecimal priceUnit;
    /**
     * 到料总金额
     */
    private BigDecimal priceTotal;
    /**
     * 采购类型  0: 按工单bom需求采购 1: 计划外采购
     */
    private int type;
    /**
     * 采购员ID
     */
    private String purchaserId;
    /**
     * 采购员名称
     */
    private String purchaserName;

    public String getBillMaterialPurchaseId() {
        return billMaterialPurchaseId;
    }

    public void setBillMaterialPurchaseId(String billMaterialPurchaseId) {
        this.billMaterialPurchaseId = billMaterialPurchaseId;
    }

    public String getDatePurchase() {
        return datePurchase;
    }

    public void setDatePurchase(String datePurchase) {
        this.datePurchase = datePurchase;
    }

    public String getMaterialsSkuId() {
        return materialsSkuId;
    }

    public void setMaterialsSkuId(String materialsSkuId) {
        this.materialsSkuId = materialsSkuId;
    }

    public String getFacMissionId() {
        return facMissionId;
    }

    public void setFacMissionId(String facMissionId) {
        this.facMissionId = facMissionId;
    }

    public BigDecimal getQuantityArrive() {
        return quantityArrive;
    }

    public void setQuantityArrive(BigDecimal quantityArrive) {
        this.quantityArrive = quantityArrive;
    }

    public BigDecimal getPriceUnit() {
        return priceUnit;
    }

    public void setPriceUnit(BigDecimal priceUnit) {
        this.priceUnit = priceUnit;
    }

    public BigDecimal getPriceTotal() {
        return priceTotal;
    }

    public void setPriceTotal(BigDecimal priceTotal) {
        this.priceTotal = priceTotal;
    }

    public BigDecimal getQuantityPurchase() {
        return quantityPurchase;
    }

    public void setQuantityPurchase(BigDecimal quantityPurchase) {
        this.quantityPurchase = quantityPurchase;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public String getPurchaserId() {
        return purchaserId;
    }

    public void setPurchaserId(String purchaserId) {
        this.purchaserId = purchaserId;
    }

    public String getPurchaserName() {
        return purchaserName;
    }

    public void setPurchaserName(String purchaserName) {
        this.purchaserName = purchaserName;
    }

    public String getPurchaseOrderNo() {
        return purchaseOrderNo;
    }

    public void setPurchaseOrderNo(String purchaseOrderNo) {
        this.purchaseOrderNo = purchaseOrderNo;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        ArriveDetailSkuDTO that = (ArriveDetailSkuDTO) o;

        if (billMaterialPurchaseId != null ? !billMaterialPurchaseId.equals(that.billMaterialPurchaseId) : that.billMaterialPurchaseId != null)
            return false;
        if (materialsSkuId != null ? !materialsSkuId.equals(that.materialsSkuId) : that.materialsSkuId != null)
            return false;
        return facMissionId != null ? facMissionId.equals(that.facMissionId) : that.facMissionId == null;
    }

    @Override
    public int hashCode() {
        int result = billMaterialPurchaseId != null ? billMaterialPurchaseId.hashCode() : 0;
        result = 31 * result + (materialsSkuId != null ? materialsSkuId.hashCode() : 0);
        result = 31 * result + (facMissionId != null ? facMissionId.hashCode() : 0);
        return result;
    }
}
